package cn.tedu._05mvcboot01.controller;

import cn.tedu._05mvcboot01.pojo.dto.RegDTO;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * @Controller注解:
 * 1.将此类标识为一个控制器的类
 * 2.此类中的方法,可以处理请求,返回相应
 */
@Controller
public class UserController {
    /***
     *RequestMapping注解：根据请求的URL地址，将请求映射到对应的控制器方法中
     * ResponseBody注解:允许控制器方法以返回值的形式返回给客户端数据
     */
    @RequestMapping("v1/users/login")
    @ResponseBody
    public String login(){
        return "恭喜,登录成功";
    }
    /**
     * 注册功能
     * 1.通过HttpServletRequest来接受参数
     */
    @RequestMapping("v1/users/reg1")
    @ResponseBody
    public String reg1(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String nickname = request.getParameter("nickname");

        return username + ":"+ password+ ":" + nickname;
    }

    /**
     * 通过声明参数的方式接受参数
     */
    @RequestMapping("/v1/users/reg2")
    @ResponseBody
    public String reg2(String username,String password,String nickname){
        return username + ":"+ password+ ":" + nickname;
    }
    /**
     * DTO类方式接受客户端传递的参数
     */
    @RequestMapping("/v1/users/reg3")
    @ResponseBody
    public String reg3(RegDTO regDTO){
        String username = regDTO.getUsername();
        String password = regDTO.getPassword();
        String nickname = regDTO.getNickname();

        return username + ":"+ password+ ":" + nickname;
    }


}
